The present disclosure relates generally to data transmission protocols in mobile communication systems and, more specifically, to systems and methods for controlling dynamic timeslot reduction (DTR) in a communication system during instances when data blocks may potentially be lost or incompletely transmitted.
As used herein, the terms “mobile station” (MS), “user agent,” and “user equipment” (UE) can refer to electronic devices such as mobile telephones, personal digital assistants (PDAs), handheld or laptop computers, and similar devices that have network communications capabilities. In some configurations, MS may refer to a mobile, wireless device. The terms may also refer to devices that have similar capabilities but that are not readily transportable, such as desktop computers, set-top boxes, or network nodes.
An MS may operate in a wireless communication network that provides for data communications. For example, the MS may operate in accordance with Global System for Mobile Communications (GSM) and General Packet Radio Service (GPRS) technologies. Today, such an MS may further operate in accordance with Enhanced Data rates for GSM Evolution (EDGE), Enhanced GPRS (EGPRS), Enhanced GPRS Phase 2 (EGPRS2), or GSM EDGE Radio Access Network (GERAN).
To communicate with a network, an MS is configured to use a media access control (MAC) protocol to determine the uplink (UL) and/or downlink (DL) communication resources available for use by the MS. GPRS, for example, uses a timeslot structure similar to that of GSM, but where timeslots are dynamically allocated to MSs both for uplink and downlink transmissions. To communicate with a GPRS network, therefore, an MS may be configured to have a multi-slot capability that enables the MS to use between one (1) and eight (8) timeslots per carrier for data transfer between the MS and network. Because uplink and downlink channels are reserved separately, various multi-slot resource configurations may be assigned in different directions in different communications networks.
In some cases, an MS may be allocated timeslots on dual carriers. A dual carrier ‘assignment’ comprises a set of timeslots assigned on two carriers. In the case of an uplink dual carrier assignment, the assignment includes the total set of timeslots on both carriers that may be used by the MS for uplink transmissions; in the case of a downlink dual carrier assignment, the assignment is the total set of timeslots on both carriers upon which the network may send data to the MS.
For any given radio block period, the network dynamically allocates resources and determines upon which downlink timeslots or uplink timeslots the MS may receive and/or transmit data. In basic transmission time intervals (BTTI), a given radio block period can include 4 TDMA frames with each TDMA frame including 8 timeslots. The allocation algorithm may be implementation dependent, but may take account of the MS's multislot class (the maximum number of timeslots on which the MS can transmit or receive, and the time required to switch from transmit to receive and vice versa), and may take account of the amount of data the network (e.g., a base station controller (BSC)) expects the MS to receive or transmit.
In some cases, reduced transmission time intervals (RTTI) are used to communication with an MS. RTTI are a modification to the above structure where, instead of a radio block being transmitted as four bursts with each block being sent in a particular timeslot over four TDMA frames, a radio block (containing essentially the same amount of information) is transmitted using two timeslots in two TDMA frames. This reduces the transmission time for a block and reduces the overall latency of the system. Accordingly, a “reduced radio block period” can be 2 TDMA frames (approximately 10 ms) compared with a basic radio block period, which can be 4 TDMA frames (approximately 20 ms).
In EGPRS systems, a radio block containing RLC data comprises a header and one or more RLC data blocks. The header (which is relatively robustly encoded) may be successfully decoded independent of the failure or success of decoding the one or more RLC data blocks. The header indicates the sequence number(s) of the RLC data blocks and (for downlink blocks) indicates the identity of the intended recipient MS. Provided that the header was decoded correctly, each of the RLC data blocks may be either successfully or unsuccessfully decoded. For example, in attempting to decode a radio block containing 2 RLC data blocks, an MS may decode the header and one of the RLC data blocks successfully, but may fail to decode the other RLC data block.
In a network, uplink allocations can be signaled to an MS using an uplink state flag (USF), which is a number between 0 and 7 (inclusive) that is signaled in downlink radio blocks. As part of the MS's uplink assignment, the MS is informed of which USF(s) on which timeslot(s) indicate an uplink allocation for that MS. USFs are generally included in the headers of downlink blocks. In the case of RTTI, USFs may be coded across radio blocks across four TDMA frames, for example, in the same manner as downlink BTTI radio blocks are sent (e.g., “BTTI USF mode”) or (using two timeslots) across two TDMA frames (e.g., “RTTI USF mode”).
In some communication standards, there are “m” timeslots assigned for reception and “n” timeslots assigned for transmission. Thus, for a multislot class type 1 MS, there may be Min(m,n,2) reception and transmission timeslots with the same timeslot number. For a multislot class type 2 MS, there may be Min(m,n) reception and transmission timeslots with the same timeslot number. In the case of downlink dual carrier configurations, if timeslots with the same timeslot number are assigned on both channels, in calculating the value of m they may be counted as one timeslot. As a result, where both downlink and uplink timeslots are assigned, if assigned a single timeslot in one direction and one or more timeslots in the opposite direction, the timeslot number of the first timeslot may be the same as one of the timeslot(s) in the opposite direction. Similarly, if assigned two or more uplink timeslots and two or more downlink timeslots, at least two of the uplink and downlink timeslots may have a common timeslot number. As a result, in uplink+downlink assignments, the timeslots that may be monitored for USFs and downlink data blocks may be largely co-incident. In some networks, assignments and allocations are essentially under the control of the network (for example, the BSC).
During an ongoing packet data session, for example, an MS with an assigned downlink TBF (temporary block flow) can be required to monitor all downlink timeslots in the MS's assignment in case the network sends the MS data in any of the allocated downlink timeslots. Similarly, if an MS has an assigned uplink TBF, the MS may be required to monitor all timeslots on which the USF (uplink state flag) could be sent to dynamically allocate uplink resources. If an MS has both uplink and downlink TBFs, therefore, the MS must monitor as many relevant downlink timeslots as possible, taking into account any allocated uplink transmissions opportunities.
In the case that either the network or the MS has no data to send, and particularly when neither the network nor the MS has data to transmit, this monitoring activity results in significant wasted battery power in the MS. To minimize battery power consumption, the assigned resources (e.g., TBF) may be maintained, while the number of timeslots that the MS must monitor is reduced. This reduction in the number of timeslots being monitored can be referred to as DTR.
Using DTR, an MS (for example an MS operating in packet transfer mode (i.e. with assigned packet resources)) can reduce its battery consumption by reducing the set of timeslots that the MS monitors for downlink data and/or uplink allocations (as indicated by uplink state flags (USFs)). The MS may monitor only a single timeslot or, in RTTI, a single pair of timeslots per radio block period. As a result, the network may only transmit new data or USFs on timeslots that are actually monitored by the MS. Generally, for an MS in DTR, the transmission or reception of any new data (generally not retransmissions of previously transmitted data) causes the MS to leave DTR mode.
In various network configurations, there can be two particular mechanisms by which a network can cause an MS to enter DTR mode: option 1—by transmitting a PACKET UPLINK ACK/NACK (PUAN) control message containing DTR information to the MS, or option 2—by means of DTR information included within a Radio Link Control (RLC) data block transmitted to the MS.
In option 1, when a PUAN is used to instruct the MS to enter DTR, one of the conditions that should be met before the MS enters DTR is that no data block has been transmitted or received in the previous (max(BS_CV_MAX, 1)−1) block periods. Here, BS_CV_MAX may be a value indicative of the round trip time for data packets (e.g., packets sent on a Physical Downlink Channel (PDCH) or Packet Associated Control Channel (PACCH)) between the network (or that part of the network that processes data packets) and the MS. The value is made available by the network for use by connected MSs and may be broadcast in system information (SI), for example. A typical value of BS_CV_MAX is 6, corresponding to 6 radio block periods, or approximately 120 ms, for example.
BS_CV_MAX is a useful value as the MS can use the round trip time to determine whether Negative Acknowledgement (NACK) messages received from the network can safely be ignored. If, for example, a NACK that refers to a block that was very recently transmitted to the network by the MS is received from the network, the MS can use BS_CV_MAX to determine whether the NACK refers to the most recently transmitted block, or to a duplicate of the block that was transmitted earlier (such as when an MS retransmits a block to the network). If the most recent transmission of the block took place less than one round-trip time (i.e., BS_CV_MAX radio block periods) prior to reception of the NACK, then the NACK cannot refer to the most recently transmitted block because the network must have transmitted the NACK prior to receiving the most recent block (the NACK cannot be received in less time than BS_CV_MAX). Therefore, the NACK does not refer to the block that was most recently transmitted by the MS and the MS may choose to ignore the NACK because the network could have safely received the most recent transmission, which would make the NACK moot.
Generally, in the first option for causing the MS to enter DTR, the condition that no data block has been transmitted or received in the previous (max(BS_CV_MAX, 1)−1) block periods must be met at the time when the PUAN is received; if not, the DTR Information in the PUAN is ignored and the MS will not enter DTR.
In the second option, when using DTR information included within an RLC data block to cause the MS to enter DTR, the conditions for the MS entering DTR are 1) that any received poll has been responded to, 2) that V(R)=V(Q), and 3) that the block with sequence number V(R)−1 contain DTR information.
In this option, the parameters V(R), V(Q), V(N) relate to the RLC receive window in the MS that is associated with RLC data blocks. V(N) refers to an array of elements, each of which can take the value INVALID or RECEIVED. V(R) identifies the block sequence number (BSN) of the next expected block (i.e. one more than the highest BSN that has been seen or, in some cases, one higher than the highest BSN whose corresponding data block has been received correctly). V(Q) refers to the lowest BSN identifying a block that has not yet been received correctly. As such, when V(R)=V(Q), the next expected block is also the only one that has not yet been received correctly, meaning that all blocks with lower BSNs have been received correctly. As an example, in a particular block sequence, if an MS has received blocks 1, 2, 3, 4, 5, 9, and 12 of the sequence correctly, V(R)=13 (the next higher BSN after 12), and V(Q)=6 (the lowest BSN of a block that was not received correctly). Alternatively, if an MS has received blocks 1, 2, 3, 4, and 5 correctly, but block 6 was received with errors, V(R)=7 and V(Q)=6. Finally, if an MS has received blocks 1, 2, 3, 4, 5, and 6 correctly, then V(R)=V(Q)=7 (i.e., all blocks 1-6 have been received correctly).
When using DTR information included within a RLC data block to cause the MS to enter DTR, it may not be necessary that all three conditions be satisfied in any particular order. For example, an MS may first receive blocks 1, 2, 3, and 4, then receive block 7 containing DTR information, and then later receive blocks 5, and 6 (e.g. in response to a request for retransmission). At that end of that sequence, even though all blocks were not received in order and all conditions were not satisfied in order, the MS will enter DTR because V(Q)=V(R)=8, and the block with BSN=V(R)−1 (i.e. 7) contained DTR information (presuming the MS has responded to any pending polls).
Note that if the network should subsequently receive an acknowledgement of all blocks up to and including block 7 from the MS, the network can determine that the MS has entered DTR. To trigger such an acknowledgement, the network may poll the MS—polls are indicated by settings of bits (such as in the relative reserved block period (RRBP)/combined EGPRS supplementary polling (CESP) fields) in the header of radio blocks.
When using DTR information included within a RLC data block to cause the MS to enter DTR, Table 1 illustrates an example EGPRS downlink RLC data block for instructing an MS to enter DTR.
TABLE 1
Referring to Table 1, the carrier ID (CI) field contains a identification of the carrier that may be encoded as DTR_CI IE. The CI field can be used to indicate the carrier that the MS monitors when DTR is used. In that case, the timeslot or PDCH-pair to monitor on that carrier can be indicated with the TN/PDCH-pair field. The TN/PDCH-pair field may contain the timeslot number (BTTI configuration) or the PDCH-pair number (RTTI configuration) the MS monitors on the indicated carrier (CI field) when DTR is implemented. Finally, the DTR Blks field may indicate a subset of downlink radio blocks during which the MS monitors for USFs and/or downlink RLC data blocks when in DTR mode. In some cases, when causing an MS to enter DTR, in both options 1 and 2 described above, there may be a maximum reaction period permitted between the conditions for an MS to enter DTR being satisfied and the MS actually entering DTR. Also, there may be some situations where, though inefficient, the MS may be required to leave DTR only to, soon thereafter, reenter DTR when instructed by the network. Also, when entering DTR, the MS must consider other conditions, such as whether V(R)=V(Q). In some instances, such as when some received blocks have not been decoded correctly, this may also result in the MS inefficiently entering or refraining from or delaying entering DTR.